{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Think Bayes: Chapter 5\n",
    "\n",
    "This notebook presents code and exercises from Think Bayes, second edition.\n",
    "\n",
    "Copyright 2016 Allen B. Downey\n",
    "\n",
    "MIT License: https://opensource.org/licenses/MIT"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from __future__ import print_function, division\n",
    "\n",
    "% matplotlib inline\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "import numpy as np\n",
    "\n",
    "from thinkbayes2 import Pmf, Cdf, Suite, Beta\n",
    "import thinkplot"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Odds\n",
    "\n",
    "The following function converts from probabilities to odds."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def Odds(p):\n",
    "    return p / (1-p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And this function converts from odds to probabilities."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def Probability(o):\n",
    "    return o / (o+1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If 20% of bettors think my horse will win, that corresponds to odds of 1:4, or 0.25."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.25"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p = 0.2\n",
    "Odds(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If the odds against my horse are 1:5, that corresponds to a probability of 1/6."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.16666666666666669"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o = 1/5\n",
    "Probability(o)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can use the odds form of Bayes's theorem to solve the cookie problem:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.5"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prior_odds = 1\n",
    "likelihood_ratio = 0.75 / 0.5\n",
    "post_odds = prior_odds * likelihood_ratio\n",
    "post_odds"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And then we can compute the posterior probability, if desired."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.6"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "post_prob = Probability(post_odds)\n",
    "post_prob"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If we draw another cookie and it's chocolate, we can do another update:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.75"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "likelihood_ratio = 0.25 / 0.5\n",
    "post_odds *= likelihood_ratio\n",
    "post_odds"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And convert back to probability."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.42857142857142855"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "post_prob = Probability(post_odds)\n",
    "post_prob"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Oliver's blood\n",
    "\n",
    "The likelihood ratio is also useful for talking about the strength of evidence without getting bogged down talking about priors.\n",
    "\n",
    "As an example, we'll solve this problem from MacKay's {\\it Information Theory, Inference, and Learning Algorithms}:\n",
    "\n",
    "> Two people have left traces of their own blood at the scene of a crime.  A suspect, Oliver, is tested and found to have type 'O' blood.  The blood groups of the two traces are found to be of type 'O' (a common type in the local population, having frequency 60) and of type 'AB' (a rare type, with frequency 1). Do these data [the traces found at the scene] give evidence in favor of the proposition that Oliver was one of the people [who left blood at the scene]?\n",
    "\n",
    "If Oliver is\n",
    "one of the people who left blood at the crime scene, then he\n",
    "accounts for the 'O' sample, so the probability of the data\n",
    "is just the probability that a random member of the population\n",
    "has type 'AB' blood, which is 1%.\n",
    "\n",
    "If Oliver did not leave blood at the scene, then we have two\n",
    "samples to account for.  If we choose two random people from\n",
    "the population, what is the chance of finding one with type 'O'\n",
    "and one with type 'AB'?  Well, there are two ways it might happen:\n",
    "the first person we choose might have type 'O' and the second\n",
    "'AB', or the other way around.  So the total probability is\n",
    "$2 (0.6) (0.01) = 1.2$%.\n",
    "\n",
    "So the likelihood ratio is:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8333333333333334"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "like1 = 0.01\n",
    "like2 = 2 * 0.6 * 0.01\n",
    "\n",
    "likelihood_ratio = like1 / like2\n",
    "likelihood_ratio"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since the ratio is less than 1, it is evidence *against* the hypothesis that Oliver left blood at the scence.\n",
    "\n",
    "But it is weak evidence.  For example, if the prior odds were 1 (that is, 50% probability), the posterior odds would be 0.83, which corresponds to a probability of:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.45454545454545453"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "post_odds = 1 * like1 / like2\n",
    "Probability(post_odds)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So this evidence doesn't \"move the needle\" very much."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise:** Suppose other evidence had made you 90% confident of Oliver's guilt.  How much would this exculpatory evince change your beliefs?  What if you initially thought there was only a 10% chance of his guilt?\n",
    "\n",
    "Notice that evidence with the same strength has a different effect on probability, depending on where you started."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Comparing distributions\n",
    "\n",
    "Let's get back to the Kim Rhode problem from Chapter 4:\n",
    "\n",
    "> At the 2016 Summer Olympics in the Women's Skeet event, Kim Rhode faced Wei Meng in the bronze medal match. They each hit 15 of 25 targets, sending the match into sudden death. In the first round, both hit 1 of 2 targets. In the next two rounds, they each hit 2 targets. Finally, in the fourth round, Rhode hit 2 and Wei hit 1, so Rhode won the bronze medal, making her the first Summer Olympian to win an individual medal at six consecutive summer games.\n",
    "\n",
    ">But after all that shooting, what is the probability that Rhode is actually a better shooter than Wei? If the same match were held again, what is the probability that Rhode would win?\n",
    "\n",
    "I'll start with a uniform distribution for `x`, the probability of hitting a target, but we should check whether the results are sensitive to that choice.\n",
    "\n",
    "First I create a Beta distribution for each of the competitors, and update it with the results."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "rhode = Beta(1, 1, label='Rhode')\n",
    "rhode.Update((22, 11))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "wei = Beta(1, 1, label='Wei')\n",
    "wei.Update((21, 12))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Based on the data, the distribution for Rhode is slightly farther right than the distribution for Wei, but there is a lot of overlap."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nMbYg/x9DVr6xKQ8dDwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fbd68dcb390>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "thinkplot.Pdf(rhode.MakePmf())\n",
    "thinkplot.Pdf(wei.MakePmf())\n",
    "thinkplot.Config(xlabel='x', ylabel='Probability')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To compute the probability that Rhode actually has a higher value of `p`, there are two options:\n",
    "\n",
    "1. Sampling: we could draw random samples from the posterior distributions and compare them.\n",
    "\n",
    "2. Enumeration: we could enumerate all possible pairs of values and add up the \"probability of superiority\".\n",
    "\n",
    "I'll start with sampling.  The Beta object provides a method that draws a random value from a Beta distribution:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.605"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iters = 1000\n",
    "count = 0\n",
    "for _ in range(iters):\n",
    "    x1 = rhode.Random()\n",
    "    x2 = wei.Random()\n",
    "    if x1 > x2:\n",
    "        count += 1\n",
    "\n",
    "count / iters"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Beta` also provides `Sample`, which returns a NumPy array, so we an perform the comparisons using array operations:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.60799999999999998"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rhode_sample = rhode.Sample(iters)\n",
    "wei_sample = wei.Sample(iters)\n",
    "np.mean(rhode_sample > wei_sample)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The other option is to make `Pmf` objects that approximate the Beta distributions, and enumerate pairs of values:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def ProbGreater(pmf1, pmf2):\n",
    "    total = 0\n",
    "    for x1, prob1 in pmf1.Items():\n",
    "        for x2, prob2 in pmf2.Items():\n",
    "            if x1 > x2:\n",
    "                total += prob1 * prob2\n",
    "    return total"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.5982856085975918"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pmf1 = rhode.MakePmf(1001)\n",
    "pmf2 = wei.MakePmf(1001)\n",
    "ProbGreater(pmf1, pmf2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.5982856085975918"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pmf1.ProbGreater(pmf2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.39831486726635074"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pmf1.ProbLess(pmf2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise:** Run this analysis again with a different prior and see how much effect it has on the results."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Simulation\n",
    "\n",
    "To make predictions about a rematch, we have two options again:\n",
    "\n",
    "1. Sampling.  For each simulated match, we draw a random value of `x` for each contestant, then simulate 25 shots and count hits.\n",
    "\n",
    "2. Computing a mixture.  If we knew `x` exactly, the distribution of hits, `k`, would be binomial.  Since we don't know `x`, the distribution of `k` is a mixture of binomials with different values of `x`.\n",
    "\n",
    "I'll do it by sampling first."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import random\n",
    "\n",
    "def flip(p):\n",
    "    return random.random() < p"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`flip` returns True with probability `p` and False with probability `1-p`\n",
    "\n",
    "Now we can simulate 1000 rematches and count wins and losses."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.516, 0.386)"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iters = 1000\n",
    "wins = 0\n",
    "losses = 0\n",
    "\n",
    "for _ in range(iters):\n",
    "    x1 = rhode.Random()\n",
    "    x2 = wei.Random()\n",
    "    \n",
    "    count1 = count2 = 0\n",
    "    for _ in range(25):\n",
    "        if flip(x1):\n",
    "            count1 += 1\n",
    "        if flip(x2):\n",
    "            count2 += 1\n",
    "            \n",
    "    if count1 > count2:\n",
    "        wins += 1\n",
    "    if count1 < count2:\n",
    "        losses += 1\n",
    "        \n",
    "wins/iters, losses/iters"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Or, realizing that the distribution of `k` is binomial, we can simplify the code using NumPy:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nqSH/D8eXKTUBtMVWAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fbd664ee290>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "rhode_rematch = np.random.binomial(25, rhode_sample)\n",
    "thinkplot.Hist(Pmf(rhode_rematch))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.52900000000000003"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "wei_rematch = np.random.binomial(25, wei_sample)\n",
    "np.mean(rhode_rematch > wei_rematch)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.39400000000000002"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.mean(rhode_rematch < wei_rematch)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Alternatively, we can make a mixture that represents the distribution of `k`, taking into account our uncertainty about `x`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from thinkbayes2 import MakeBinomialPmf\n",
    "\n",
    "def MakeBinomialMix(pmf, label=''):\n",
    "    mix = Pmf(label=label)\n",
    "    for x, prob in pmf.Items():\n",
    "        binom = MakeBinomialPmf(n=25, p=x)\n",
    "        for k, p in binom.Items():\n",
    "            mix[k] += prob * p\n",
    "    return mix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fbd6640e610>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "rhode_rematch = MakeBinomialMix(rhode.MakePmf(), label='Rhode')\n",
    "wei_rematch = MakeBinomialMix(wei.MakePmf(), label='Wei')\n",
    "thinkplot.Pdf(rhode_rematch)\n",
    "thinkplot.Pdf(wei_rematch)\n",
    "thinkplot.Config(xlabel='hits')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.52023290455545113, 0.39052602488401061)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rhode_rematch.ProbGreater(wei_rematch), rhode_rematch.ProbLess(wei_rematch)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Alternatively, we could use MakeMixture:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from thinkbayes2 import MakeMixture\n",
    "\n",
    "def MakeBinomialMix2(pmf):\n",
    "    binomials = Pmf()\n",
    "    for x, prob in pmf.Items():\n",
    "        binom = MakeBinomialPmf(n=25, p=x)\n",
    "        binomials[binom] = prob\n",
    "    return MakeMixture(binomials)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here's how we use it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.52023290455545113, 0.39052602488401061)"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rhode_rematch = MakeBinomialMix2(rhode.MakePmf())\n",
    "wei_rematch = MakeBinomialMix2(wei.MakePmf())\n",
    "rhode_rematch.ProbGreater(wei_rematch), rhode_rematch.ProbLess(wei_rematch)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise:** Run this analysis again with a different prior and see how much effect it has on the results."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Distributions of sums and differences\n",
    "\n",
    "Suppose we want to know the total number of targets the two contestants will hit in a rematch.  There are two ways we might compute the distribution of this sum:\n",
    "\n",
    "1. Sampling: We can draw samples from the distributions and add them up.\n",
    "\n",
    "2. Enumeration: We can enumerate all possible pairs of values.\n",
    "\n",
    "I'll start with sampling:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fbd66127790>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "iters = 1000\n",
    "pmf = Pmf()\n",
    "for _ in range(iters):\n",
    "    k = rhode_rematch.Random() + wei_rematch.Random()\n",
    "    pmf[k] += 1\n",
    "pmf.Normalize()\n",
    "thinkplot.Hist(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "Or we could use `Sample` and NumPy:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fbd65fd73d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ks = rhode_rematch.Sample(iters) + wei_rematch.Sample(iters)\n",
    "pmf = Pmf(ks)\n",
    "thinkplot.Hist(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "Alternatively, we could compute the distribution of the sum by enumeration:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def AddPmfs(pmf1, pmf2):\n",
    "    pmf = Pmf()\n",
    "    for v1, p1 in pmf1.Items():\n",
    "        for v2, p2 in pmf2.Items():\n",
    "            pmf[v1 + v2] += p1 * p2\n",
    "    return pmf"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "Here's how it's used:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fbd65d99bd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pmf = AddPmfs(rhode_rematch, wei_rematch)\n",
    "thinkplot.Pdf(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "The `Pmf` class provides a `+` operator that does the same thing."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fbd65d71d10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pmf = rhode_rematch + wei_rematch\n",
    "thinkplot.Pdf(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "**Exercise:**  The Pmf class also provides the `-` operator, which computes the distribution of the difference in values from two distributions.  Use the distributions from the previous section to compute the distribution of the differential between Rhode and Wei in a rematch.  On average, how many clays should we expect Rhode to win by?  What is the probability that Rhode wins by 10 or more?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## Distribution of maximum\n",
    "\n",
    "Suppose Kim Rhode continues to compete in six more Olympics.  What should we expect her best result to be?\n",
    "\n",
    "Once again, there are two ways we can compute the distribution of the maximum:\n",
    "\n",
    "1. Sampling.\n",
    "\n",
    "2. Analysis of the CDF.\n",
    "\n",
    "Here's a simple version by sampling:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fbd65b96250>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "iters = 1000\n",
    "pmf = Pmf()\n",
    "for _ in range(iters):\n",
    "    ks = rhode_rematch.Sample(6)\n",
    "    pmf[max(ks)] += 1\n",
    "pmf.Normalize()\n",
    "thinkplot.Hist(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "And here's a version using NumPy.  I'll generate an array with 6 rows and 10 columns:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[18, 17, 17, ..., 15, 12, 19],\n",
       "       [18, 17, 17, ..., 16, 21, 14],\n",
       "       [19, 15, 14, ..., 11, 18, 17],\n",
       "       [18, 16, 14, ..., 11, 19, 19],\n",
       "       [20, 20, 13, ..., 20, 16, 14],\n",
       "       [16, 17, 16, ..., 13, 20, 23]])"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iters = 1000\n",
    "ks = rhode_rematch.Sample((6, iters))\n",
    "ks"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "Compute the maximum in each column:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([20, 20, 17, 20, 22, 21, 21, 23, 19, 22])"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "maxes = np.max(ks, axis=0)\n",
    "maxes[:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And then plot the distribution of maximums:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fbd65c1a210>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pmf = Pmf(maxes)\n",
    "thinkplot.Hist(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Or we can figure it out analytically.  If the maximum is less-than-or-equal-to some value `k`, all 6 random selections must be less-than-or-equal-to `k`, so: \n",
    "\n",
    "$ CDF_{max}(x) = CDF(x)^6 $\n",
    "\n",
    "`Pmf` provides a method that computes and returns this `Cdf`, so we can compute the distribution of the maximum like this:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fbd65b96110>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pmf = rhode_rematch.Max(6).MakePmf()\n",
    "thinkplot.Hist(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "**Exercise:**  Here's how Pmf.Max works:\n",
    "\n",
    "    def Max(self, k):\n",
    "        \"\"\"Computes the CDF of the maximum of k selections from this dist.\n",
    "\n",
    "        k: int\n",
    "\n",
    "        returns: new Cdf\n",
    "        \"\"\"\n",
    "        cdf = self.MakeCdf()\n",
    "        cdf.ps **= k\n",
    "        return cdf\n",
    "\n",
    "Write a function that takes a Pmf and an integer `n` and returns a Pmf that represents the distribution of the minimum of `k` values drawn from the given Pmf.  Use your function to compute the distribution of the minimum score Kim Rhode would be expected to shoot in six competitions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def Min(pmf, k):\n",
    "    cdf = pmf.MakeCdf()\n",
    "    cdf.ps = 1 - (1-cdf.ps)**k\n",
    "    return cdf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nyzTn4Ijo3sDeImk6IiaL7S9JivY3ZG1/Q9K3I+KxYntB0u+qtbzTtW/bY3QvBADwayKi0iS7zEx/\nTtJG2xsknZe0TVLnS/5hSZ+X9FjxIvFGRFyw/WqJvssqHABQXc/Qj4hLtqckHdFbH7uct72zdTj2\nRcS3bN9v+4dqfWTzgW59B/bTAAC66rm8AwC4fozNGbm299g+a/u/itvkqGsqw/ak7QXbJ23vGnU9\nVdl+yfZztp+xfXzU9fRie7/tC7Z/0LbvnbaP2P4f2/9h++ZR1tjNEvXX4rlve53t/7T937ZP2P5C\nsb8W479I/Q8W++sy/m+z/VTxu3rC9p5if6XxH5uZfvED/F9E/OWoaymrOPnspKR7JL2s1vsf2yKi\nNuch2P6xpA9HxOujrqUM2x+V9KakRyLig8W+r0h6LSL+vHjhfWdEfGmUdS5lifpr8dy3faukWyPi\nWds3SXparfNuHlANxr9L/X+kGoy/JNm+ISJ+Yfs3JH1X0hck/YEqjP/YzPQLdXsz9+qJaxFxUdKV\nk8/qxBq/58GSIuKYpM4XqK2Svlnc/6akTw61qAqWqF+qwXM/In5y5fIqEfGmpHlJ61ST8V+i/oni\n8NiPvyRFxC+Ku29T6z3ZUMXxH7df9inbz9r+23H9E7HDUiel1UlIOmp7zvaOURezTO+NiAtS6xdb\n0ntHXM9y1Oq5b/s3Jd0l6UlJa+s2/m31P1XsqsX4215l+xlJP5F0NCLmVHH8hxr6to/a/kHb7UTx\n9fckfV3Sb0XEXWr9QGP/p9Z14u6I+B1J90v6fLH8UHfjsWZZXq2e+8XSyD9LeqiYMXeO91iP/yL1\n12b8I+JyRHxIrb+wNtu+UxXHf6j/GD0iPl6y6d9I+rdB1tIn5yStb9teV+yrjYg4X3x9xfYhtZas\njo22qsou2F5bnBtyq6SfjrqgKiLilbbNsX7u216tVmD+fUQ8XuyuzfgvVn+dxv+KiPhf201Jk6o4\n/mOzvFMUe8XvS3p+VLVUcPXENdtr1Dr57PCIayrN9g3FrEe2b5R0r+ox7ta1a7CHJX2uuP9ZSY93\ndhgz19Rfs+f+30l6ISK+2ravTuP/a/XXZfxtv+fK0pPtt0v6uFrvS1Qa/3H69M4jaq2xXZb0kqSd\nV9apxlnx8a6v6q2Tz/5sxCWVZvt2SYfU+nNwtaRHx71+2/8gqSHp3ZIuSNoj6V8l/ZOk2ySdlvSH\nEfHGqGrsZon6P6YaPPdt3y3pO5JOqPWcCUl/Ium4pH/UmI9/l/o/pXqM/2+r9UbtquL2WET8qe13\nqcL4j03oAwAGb2yWdwAAg0foA0AihD4AJELoA0AihD4AJELoA0AihD4AJELoA0Ai/w+/hVfl6NH/\n3QAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fbd940f0310>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pmf = Min(rhode_rematch, 6).MakePmf()\n",
    "thinkplot.Hist(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Exercises"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "**Exercise:**  Suppose you are having a dinner party with 10 guests and 4 of them are allergic to cats.  Because you have cats, you expect 50% of the allergic guests to sneeze during dinner.  At the same time, you expect 10% of the non-allergic guests to sneeze.  What is the distribution of the total number of guests who sneeze?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise** [This study from 2015](http://onlinelibrary.wiley.com/doi/10.1111/apt.13372/full) showed that many subjects diagnosed with non-celiac gluten sensitivity (NCGS) were not able to distinguish gluten flour from non-gluten flour in a blind challenge.\n",
    "\n",
    "Here is a description of the study:\n",
    "\n",
    ">\"We studied 35 non-CD subjects (31 females) that were on a gluten-free diet (GFD), in a double-blind challenge study. Participants were randomised to receive either gluten-containing ﬂour or gluten-free ﬂour for 10 days, followed by a 2-week washout period and were then crossed over. The main outcome measure was their ability to identify which ﬂour contained gluten.\n",
    ">\"The gluten-containing ﬂour was correctly identiﬁed by 12 participants (34%)...\"\n",
    "Since 12 out of 35 participants were able to identify the gluten flour, the authors conclude \"Double-blind gluten challenge induces symptom recurrence in just one-third of patients fulﬁlling the clinical diagnostic criteria for non-coeliac gluten sensitivity.\"\n",
    "\n",
    "This conclusion seems odd to me, because if none of the patients were sensitive to gluten, we would expect some of them to identify the gluten flour by chance.  So the results are consistent with the hypothesis that none of the subjects are actually gluten sensitive.\n",
    "\n",
    "We can use a Bayesian approach to interpret the results more precisely.  But first we have to make some modeling decisions.\n",
    "\n",
    "1. Of the 35 subjects, 12 identified the gluten flour based on resumption of symptoms while they were eating it.  Another 17 subjects wrongly identified the gluten-free flour based on their symptoms, and 6 subjects were unable to distinguish.  So each subject gave one of three responses.  To keep things simple I follow the authors of the study and lump together the second two groups; that is, I consider two groups: those who identified the gluten flour and those who did not.\n",
    "\n",
    "2. I assume (1) people who are actually gluten sensitive have a 95% chance of correctly identifying gluten flour under the challenge conditions, and (2) subjects who are not gluten sensitive have only a 40% chance of identifying the gluten flour by chance (and a 60% chance of either choosing the other flour or failing to distinguish).\n",
    "\n",
    "Using this model, estimate the number of study participants who are sensitive to gluten.  What is the most likely number?  What is the 95% credible interval?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise** Coming soon: the space invaders problem."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
